<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos -->
			<title>Docs For Class CPSOptionManager</title>
			<link rel="stylesheet" href="../../media/stylesheet.css" />
			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
		</head>
		<body>
			<div class="page-body">			
<h2 class="class-name">Class CPSOptionManager</h2>

<a name="sec-description"></a>
<div class="info-box">
	<div class="info-box-title">Description</div>
	<div class="nav-bar">
					<span class="disabled">Description</span> |
													<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
						|											<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
						
											<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
						
			</div>
	<div class="info-box-body">
        		<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">CPSOptionManager provides the base class for generic options settings for use with any class.</p>
<p class="description"><p>Avoids the need for declaring member variables and provides convenience magic functions to  search the options.</p><p>Here is an example option specification and pattern.</p><p><div class="src-code"><ol><li><div class="src-line">&nbsp;<span class="src-key">array</span><span class="src-sym">(</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;optionName&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;your&nbsp;option&nbsp;key,&nbsp;optionally&nbsp;private&nbsp;(by&nbsp;appending&nbsp;an</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;underscore&nbsp;('_')&nbsp;to&nbsp;the&nbsp;option&nbsp;name.&nbsp;Private&nbsp;options&nbsp;are&nbsp;never&nbsp;returned&nbsp;from</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;(@link&nbsp;makeOptions())</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-str">'optionName{_}'&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;Option&nbsp;name&nbsp;for&nbsp;a&nbsp;javascript&nbsp;widget.&nbsp;Defaults&nbsp;to&nbsp;'&lt;b&gt;optionName&lt;/b&gt;'.</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;Defaults&nbsp;to&nbsp;null,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_DEFAULTVALUE&nbsp;</span>=&gt;&nbsp;<span class="src-key">default&nbsp;</span><span class="src-id">value</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;Lay&nbsp;out&nbsp;the&nbsp;validation&nbsp;parameters</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_RULES&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;Any&nbsp;valid&nbsp;PHP&nbsp;type&nbsp;(i.e.&nbsp;string,&nbsp;array,&nbsp;integer,&nbsp;etc.),</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_TYPE&nbsp;</span>=&gt;&nbsp;<span class="src-str">'typename'</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;Is&nbsp;option&nbsp;required?</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_REQUIRED&nbsp;</span>=&gt;&nbsp;<span class="src-id">true</span>|<span class="src-id">false</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;external&nbsp;name&nbsp;of&nbsp;the&nbsp;option&nbsp;(i.e.&nbsp;what&nbsp;to&nbsp;send&nbsp;to&nbsp;component)</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_EXTERNALNAME&nbsp;</span>=&gt;&nbsp;<span class="src-id">external</span>-<span class="src-id">facing&nbsp;name&nbsp;</span>|&nbsp;<span class="src-key">empty</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;An&nbsp;array&nbsp;of&nbsp;valid&nbsp;values&nbsp;for&nbsp;the&nbsp;option</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_ALLOWED&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(&nbsp;</span><span class="src-str">'v1'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'v2'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'v3'</span><span class="src-sym">,&nbsp;</span><span class="src-id">etc</span>.<span class="src-sym">)</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">)</span></div></li>
<li><div class="src-line">&nbsp;<span class="src-sym">)</span></div></li>
</ol></div></p><p><strong>CPSOptionManager::META_EXTERNALNAME</strong> tells the option manager to use this when formatting an options array with (@link CPSOptionManager::makeOptions()).</p><p><strong>CPSOptionManager::META_DEFAULTVALUE</strong> tells the option manager what to set the value of the option to upon creation. New values will override this default value.</p><p>When adding options to the options manager, you must specify the pattern for the option's value.  The pattern must be placed in the array element with a key of '<strong>CPSOptionManager::META_RULES</strong>' to be recognized  by the option manager.</p><p>This pattern can include none, one, or more pattern sub-types.</p><p>These are: <ol></ol>  2. <strong>CPSOptionManager::META_ALLOWED</strong>   3. <strong>CPSOptionManager::META_REQUIRED</strong></p><p><strong>CPSOptionManager::META_TYPE</strong> tells the option manager what type of variable is allowed to be assigned to the option.  Any legal PHP type is allowed. If more than one type is allowed, you may send in an array as the  value of '<strong>CPSOptionManager::META_EXTERNALNAME</strong>'.</p><p><strong>CPSOptionManager::META_ALLOWED</strong> tells the option manager the valid values of the option that is being set. This must  be specified as an array. For instance, if an option can only have three possible values: '<strong>public</strong>',  '<strong>protected</strong>', or '<strong>private</strong>', the array specified for the value of '<strong>CPSOptionManager::META_TYPE</strong>'  would be:</p><p><div class="src-code"><ol><li><div class="src-line">&nbsp;<span class="src-key">array</span><span class="src-sym">(&nbsp;</span><span class="src-str">'public'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'protected'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'private'&nbsp;</span><span class="src-sym">)</span></div></li>
</ol></div></p><p><strong>CPSOptionManager::META_REQUIRED</strong> tells the option manager that the option is required and as such, must have a non-null value.</p><p>This next snippet defines an option named '<strong>hamburgerCount</strong>'. It is private because we've appended  an underscore to the name. It's default value is 6, it can be only of type '<strong>integer</strong>', and has no  required values.</p><p><div class="src-code"><ol><li><div class="src-line">&nbsp;<span class="src-str">'hamburgerCount_'&nbsp;</span>=&nbsp;<span class="src-key">array</span><span class="src-sym">(</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_DEFAULTVALUE&nbsp;</span>=&gt;&nbsp;<span class="src-num">6</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_RULES&nbsp;</span>=&gt;</div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_TYPE&nbsp;</span>=&gt;&nbsp;<span class="src-str">'integer'</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_ALLOWED&nbsp;</span>=&gt;&nbsp;<span class="src-id">null</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">)</span><span class="src-sym">;</span></div></li>
</ol></div></p><p>Using this option from a Pogostick component or widget is as simple as this:</p><p><div class="src-code"><ol><li><div class="src-line">&nbsp;<span class="src-var">$this</span><span class="src-sym">-&gt;</span><span class="src-id">hamburgerCount&nbsp;</span>=&nbsp;<span class="src-num">3</span><span class="src-sym">;</span></div></li>
<li><div class="src-line">&nbsp;echo&nbsp;<span class="src-var">$this</span><span class="src-sym">-&gt;</span><span class="src-id">hamburgerCount</span><span class="src-sym">;</span></div></li>
</ol></div></p><p>Once you declare an option private (suffixing with the underscore as above, you no longer need to provide the underscore when  accessing the option. The underscore is used ONLY when adding new options and is dropped once added.</p></p>
	<ul class="tags">
				<li><span class="field">author:</span> Jerry Ablan &lt;<a href="mailto:jablan@pogostick.com">jablan@pogostick.com</a>&gt;</li>
				<li><span class="field">version:</span> SVN: $Id: CPSOptionManager.php 248 2009-06-16 02:52:11Z jerryablan@gmail.com $</li>
			</ul>
		<p class="notes">
			Located in <a class="field" href="_pogostick---base---CPSOptionManager.php.html">/pogostick/base/CPSOptionManager.php</a> (line <span class="field">104</span>)
		</p>
		
				
		<pre></pre>
	
			</div>
</div>


	<a name="sec-const-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Class Constant Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
						<span class="disabled">Constants</span> (<a href="#sec-consts">details</a>)
												<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
				 
				|
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<div class="const-summary">
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#MD_TAG" title="details" class="const-name">MD_TAG</a> = 					<span class="var-type"> '_md.'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_ALLOWED" title="details" class="const-name">META_ALLOWED</a> = 					<span class="var-type"> '_allowed'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_DEFAULTVALUE" title="details" class="const-name">META_DEFAULTVALUE</a> = 					<span class="var-type"> '_defaultValue'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_EXTERNALNAME" title="details" class="const-name">META_EXTERNALNAME</a> = 					<span class="var-type"> '_extName'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_KEYNAME" title="details" class="const-name">META_KEYNAME</a> = 					<span class="var-type"> '_keyName'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_PRIVATE" title="details" class="const-name">META_PRIVATE</a> = 					<span class="var-type"> '_private'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_REQUIRED" title="details" class="const-name">META_REQUIRED</a> = 					<span class="var-type"> '_required'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_RULES" title="details" class="const-name">META_RULES</a> = 					<span class="var-type"> '_rules'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_TYPE" title="details" class="const-name">META_TYPE</a> = 					<span class="var-type"> '_type'</span>

				</div>
								<div class="const-title">
					<img src="../../media/images/Constant.png" alt=" " />
					<a href="#META_VALUEPATTERN" title="details" class="const-name">META_VALUEPATTERN</a> = 					<span class="var-type"> '_valuePattern'</span>

				</div>
							</div>
		</div>
	</div>

	<a name="sec-var-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Variable Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
						<span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
							| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
															<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
					</div>
		<div class="info-box-body">
			<div class="var-summary">
																																								<div class="var-title">
					<span class="var-type">array</span>
					<a href="#$m_arOptions" title="details" class="var-name">$m_arOptions</a>
				</div>
																<div class="var-title">
					<span class="var-type">string</span>
					<a href="#$m_sInternalName" title="details" class="var-name">$m_sInternalName</a>
				</div>
																<div class="var-title">
					<span class="var-type">string</span>
					<a href="#$m_sPrefixDelimiter" title="details" class="var-name">$m_sPrefixDelimiter</a>
				</div>
											</div>
		</div>
	</div>

	<a name="sec-method-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Method Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
															<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
															<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
				 
				|
						<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
		</div>
		<div class="info-box-body">			
			<div class="method-summary">
																																																																																																																																																																																																				
												<div class="method-definition">
											<span class="method-result">CPSOptionManager</span>
										<a href="#__construct" title="details" class="method-name">__construct</a>
											([<span class="var-type"></span>&nbsp;<span class="var-name">$sInternalName</span> = <span class="var-default">null</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#addOption" title="details" class="method-name">addOption</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$oValue</span>, [<span class="var-type">bool</span>&nbsp;<span class="var-name">$bNoSort</span> = <span class="var-default">false</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$oSetValue</span> = <span class="var-default">null</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#addOptions" title="details" class="method-name">addOptions</a>
											(<span class="var-type"></span>&nbsp;<span class="var-name">$arOptions</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#checkOption" title="details" class="method-name">checkOption</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$oValue</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#checkOptions" title="details" class="method-name">checkOptions</a>
											([<span class="var-type"></span>&nbsp;<span class="var-name">$arOptions</span> = <span class="var-default">null</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#getInternalName" title="details" class="method-name">getInternalName</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">array</span>
										<a href="#getMetaData" title="details" class="method-name">getMetaData</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">string</span>
										<a href="#getMetaDataKey" title="details" class="method-name">getMetaDataKey</a>
											(<span class="var-type"></span>&nbsp;<span class="var-name">$sKey</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">mixed</span>
										<a href="#getMetaDataValue" title="details" class="method-name">getMetaDataValue</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$eMDKey</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#getNamePrefix" title="details" class="method-name">getNamePrefix</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">mixed|null</span>
										<a href="#getOption" title="details" class="method-name">&amp;getOption</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">$oDefault</span> = <span class="var-default">null</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">array</span>
										<a href="#getOptions" title="details" class="method-name">&amp;getOptions</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#getPrefixDelimiter" title="details" class="method-name">getPrefixDelimiter</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">array</span>
										<a href="#getPublicOptions" title="details" class="method-name">getPublicOptions</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#getValidPattern" title="details" class="method-name">getValidPattern</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">bool</span>
										<a href="#hasOption" title="details" class="method-name">hasOption</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#isMetaDataKey" title="details" class="method-name">isMetaDataKey</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#setInternalName" title="details" class="method-name">setInternalName</a>
											(<span class="var-type"></span>&nbsp;<span class="var-name">$sValue</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">string</span>
										<a href="#setMetaDataValue" title="details" class="method-name">setMetaDataValue</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$eMDKey</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$oValue</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$sWhich</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#setMetaDataValues" title="details" class="method-name">setMetaDataValues</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$arRules</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">null</span>
										<a href="#setOption" title="details" class="method-name">setOption</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$oValue</span>, <span class="var-type">bool</span>&nbsp;<span class="var-name">$bAdd</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#setOptions" title="details" class="method-name">setOptions</a>
											(<span class="var-type"></span>&nbsp;<span class="var-name">$arOptions</span>, [<span class="var-type">bool</span>&nbsp;<span class="var-name">$bAdd</span> = <span class="var-default">true</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#setPrefixDelimiter" title="details" class="method-name">setPrefixDelimiter</a>
											(<span class="var-type"></span>&nbsp;<span class="var-name">$sValue</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">null|string</span>
										<a href="#validateKey" title="details" class="method-name">validateKey</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>)
									</div>
								</div>
		</div>
	</div>		

	<a name="sec-vars"></a>
	<div class="info-box">
		<div class="info-box-title">Variables</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
										<a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
						
			
												<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<a name="var$m_arOptions" id="$m_arOptions"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">array</span>
			<span class="var-name">$m_arOptions</span>
			 = <span class="var-default">array()</span>			(line <span class="line-number">192</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The base option collection</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$m_sInternalName" id="$m_sInternalName"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">string</span>
			<span class="var-name">$m_sInternalName</span>
			 = <span class="var-default"> null</span>			(line <span class="line-number">198</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">My internal tag for option filtering</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$m_sPrefixDelimiter" id="$m_sPrefixDelimiter"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">string</span>
			<span class="var-name">$m_sPrefixDelimiter</span>
			 = <span class="var-default"> '::'</span>			(line <span class="line-number">207</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The delimiter to use for prefixes. This must contain only characters that are not allowed  in variable names (i.e. '::', '||', '.', etc.). Defaults to '::'. There is no length limit,  but 2 works out. There is really no need to ever change this unless you have a strong dislike  of the '::' characters.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
						
		</div>
	</div>
	
	<a name="sec-methods"></a>
	<div class="info-box">
		<div class="info-box-title">Methods</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
															<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
																			<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
							
										<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
						
		</div>
		<div class="info-box-body">
			<A NAME='method_detail'></A>

<a name="method__construct" id="__construct"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">Constructor __construct</span> (line <span class="line-number">217</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Constructor</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">CPSOptionManager</span>
		<span class="method-name">
			__construct
		</span>
					([<span class="var-type"></span>&nbsp;<span class="var-name">$sInternalName</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"></span>
				<span class="var-name">$sInternalName</span>			</li>
				</ul>
		
			
	</div>
<a name="methodaddOption" id="addOption"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">addOption</span> (line <span class="line-number">372</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Adds a single option to the array</p>
	<ul class="tags">
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOption">CPSOptionManager::setOption()</a></li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			addOption
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$oValue</span>, [<span class="var-type">bool</span>&nbsp;<span class="var-name">$bNoSort</span> = <span class="var-default">false</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$oSetValue</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$oValue</span><span class="var-description">: Must be an array containing the RULES for this option</span>			</li>
					<li>
				<span class="var-type">bool</span>
				<span class="var-name">$bNoSort</span><span class="var-description">: If true, the array is sorted after the operation</span>			</li>
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">$oSetValue</span><span class="var-description">: If not null, the the value is set on the option after it has been added.</span>			</li>
				</ul>
		
			
	</div>
<a name="methodaddOptions" id="addOptions"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">addOptions</span> (line <span class="line-number">353</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Add bulk options to the manager.</p>
	<ul class="tags">
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodaddOption">CPSOptionManager::addOption()</a></li>
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOption">CPSOptionManager::setOption()</a></li>
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodgetOption">CPSOptionManager::getOption()</a></li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			addOptions
		</span>
					(<span class="var-type"></span>&nbsp;<span class="var-name">$arOptions</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$arOptions</span><span class="var-description">: <p>An array containing option_key =&gt; value pairs to put into option array. The parameter $arOptions is merged into the existing options array. Existing option values are overwritten.</p><p><div class="src-code"><ol><li><div class="src-line">&nbsp;<span class="src-var">$this</span><span class="src-sym">-&gt;</span><a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOptions">setOptions</a><span class="src-sym">(&nbsp;</span><span class="src-key">array</span><span class="src-sym">(&nbsp;</span><span class="src-str">'option_x'&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(&nbsp;</span><span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_DEFAULTVALUE&nbsp;</span>=&gt;&nbsp;<span class="src-str">'1'</span><span class="src-sym">,&nbsp;</span><span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_ALLOWED&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(&nbsp;</span><span class="src-str">'x'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'y'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'z'&nbsp;</span><span class="src-sym">)&nbsp;)</span><span class="src-sym">;</span></div></li>
</ol></div></p></span>			</li>
				</ul>
		
			
	</div>
<a name="methodcheckOption" id="checkOption"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">checkOption</span> (line <span class="line-number">582</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Checks a single option against its pattern.</p>
	<ul class="tags">
				<li><span class="field">throws:</span> CException</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			checkOption
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$oValue</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">$oValue</span>			</li>
				</ul>
		
			
	</div>
<a name="methodcheckOptions" id="checkOptions"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">checkOptions</span> (line <span class="line-number">564</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Checks the options array or a passed in array for validity checking...</p>
	<ul class="tags">
				<li><span class="field">throws:</span> CException</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			checkOptions
		</span>
					([<span class="var-type"></span>&nbsp;<span class="var-name">$arOptions</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$arOptions</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetInternalName" id="getInternalName"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getInternalName</span> (line <span class="line-number">238</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Getters for member variables</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			getInternalName
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetMetaData" id="getMetaData"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getMetaData</span> (line <span class="line-number">674</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Gets a single option metadata value.</p>
	<ul class="tags">
				<li><span class="field">return:</span> The meta data for the specified key</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">array</span>
		<span class="method-name">
			getMetaData
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetMetaDataKey" id="getMetaDataKey"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getMetaDataKey</span> (line <span class="line-number">634</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns a string to be used as the meta data key for our options</p>
	<ul class="tags">
				<li><span class="field">return:</span> The metadata key</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			getMetaDataKey
		</span>
					(<span class="var-type"></span>&nbsp;<span class="var-name">$sKey</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"></span>
				<span class="var-name">$sKey</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetMetaDataValue" id="getMetaDataValue"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getMetaDataValue</span> (line <span class="line-number">686</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Gets a single option metadata value.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed</span>
		<span class="method-name">
			getMetaDataValue
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$eMDKey</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$eMDKey</span><span class="var-description">: (Use the self::META_* constants)</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetNamePrefix" id="getNamePrefix"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getNamePrefix</span> (line <span class="line-number">239</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			getNamePrefix
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetOption" id="getOption"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getOption</span> (line <span class="line-number">491</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Retrieves an option value from the options array. If key doesn't exist, it's created as an empty array and returned.</p>
	<ul class="tags">
				<li><span class="field">return:</span> if not found</li>
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodgetOptions">CPSOptionManager::getOptions()</a></li>
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOption">CPSOptionManager::setOption()</a></li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">mixed|null</span>
		<span class="method-name">
			&amp;getOption
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">$oDefault</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
					<li>
				<span class="var-type"></span>
				<span class="var-name">$oDefault</span>			</li>
				</ul>
		
			
	</div>
<a name="methodgetOptions" id="getOptions"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getOptions</span> (line <span class="line-number">262</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns a reference to the entire option array</p>
	<ul class="tags">
				<li><span class="field">return:</span> A reference to the internal options array</li>
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodgetOption">CPSOptionManager::getOption()</a></li>
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOptions">CPSOptionManager::setOptions()</a></li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">array</span>
		<span class="method-name">
			&amp;getOptions
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetPrefixDelimiter" id="getPrefixDelimiter"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getPrefixDelimiter</span> (line <span class="line-number">240</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			getPrefixDelimiter
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetPublicOptions" id="getPublicOptions"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">getPublicOptions</span> (line <span class="line-number">270</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns a copy of ONLY the public options in the internal options array</p>
	<ul class="tags">
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodgetOptions">CPSOptionManager::getOptions()</a></li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">array</span>
		<span class="method-name">
			getPublicOptions
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodgetValidPattern" id="getValidPattern"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getValidPattern</span> (line <span class="line-number">241</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			getValidPattern
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodhasOption" id="hasOption"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">hasOption</span> (line <span class="line-number">512</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Checks if an option exists in the options array...</p>
	<ul class="tags">
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOption">CPSOptionManager::setOption()</a></li>
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOptions">CPSOptionManager::setOptions()</a></li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">bool</span>
		<span class="method-name">
			hasOption
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
				</ul>
		
			
	</div>
<a name="methodisMetaDataKey" id="isMetaDataKey"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">isMetaDataKey</span> (line <span class="line-number">703</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Tests if a key is a meta data key.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			isMetaDataKey
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetInternalName" id="setInternalName"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">setInternalName</span> (line <span class="line-number">247</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Setters for member variables</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			setInternalName
		</span>
					(<span class="var-type"></span>&nbsp;<span class="var-name">$sValue</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"></span>
				<span class="var-name">$sValue</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetMetaDataValue" id="setMetaDataValue"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">setMetaDataValue</span> (line <span class="line-number">658</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Sets a single option metadata value.</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			setMetaDataValue
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$eMDKey</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$oValue</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$sWhich</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sWhich</span>			</li>
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">$oValue</span>			</li>
					<li>
				<span class="var-type"></span>
				<span class="var-name">$eMDKey</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetMetaDataValues" id="setMetaDataValues"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">setMetaDataValues</span> (line <span class="line-number">642</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Adds an array of metadata to the option array</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			setMetaDataValues
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$arRules</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$arRules</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetOption" id="setOption"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">setOption</span> (line <span class="line-number">330</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Sets a single option to the array</p>
<p class="description"><p>$oValue</p></p>
	<ul class="tags">
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOptions">CPSOptionManager::setOptions()</a></li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">null</span>
		<span class="method-name">
			setOption
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>, <span class="var-type">mixed</span>&nbsp;<span class="var-name">$oValue</span>, <span class="var-type">bool</span>&nbsp;<span class="var-name">$bAdd</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
					<li>
				<span class="var-type">mixed</span>
				<span class="var-name">$oValue</span>			</li>
					<li>
				<span class="var-type">bool</span>
				<span class="var-name">$bAdd</span><span class="var-description">: Indicates that this option setting is a creation one (i.e. addOptions() analog).</span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetOptions" id="setOptions"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">setOptions</span> (line <span class="line-number">309</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Add bulk options to the manager.</p>
	<ul class="tags">
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodgetOptions">CPSOptionManager::getOptions()</a></li>
				<li><span class="field">see:</span> <a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOption">CPSOptionManager::setOption()</a></li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			setOptions
		</span>
					(<span class="var-type"></span>&nbsp;<span class="var-name">$arOptions</span>, [<span class="var-type">bool</span>&nbsp;<span class="var-name">$bAdd</span> = <span class="var-default">true</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">array</span>
				<span class="var-name">$arOptions</span><span class="var-description">: An array containing option_key =&gt; value pairs to put into  option array. The parameter $arOptions is merged with the existing options array.  Existing option values are overwritten or added.</span>			</li>
					<li>
				<span class="var-type">bool</span>
				<span class="var-name">$bAdd</span><span class="var-description">: <p>Indicates that this option setting is a creation one (i.e. addOptions() analog)</p><p><div class="src-code"><ol><li><div class="src-line">&nbsp;<span class="src-var">$this</span><span class="src-sym">-&gt;</span><a href="../../psYiiExtensions/Base/CPSOptionManager.html#methodsetOptions">setOptions</a><span class="src-sym">(&nbsp;</span><span class="src-key">array</span><span class="src-sym">(&nbsp;</span><span class="src-str">'option_x'&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(&nbsp;</span><span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_DEFAULTVALUE&nbsp;</span>=&gt;&nbsp;<span class="src-str">'1'</span><span class="src-sym">,&nbsp;</span><span class="src-id"><a href="../../psYiiExtensions/Base/CPSOptionManager.html">CPSOptionManager</a></span><span class="src-sym">::</span><span class="src-id">META_ALLOWED&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(&nbsp;</span><span class="src-str">'x'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'y'</span><span class="src-sym">,&nbsp;</span><span class="src-str">'z'&nbsp;</span><span class="src-sym">)&nbsp;)</span><span class="src-sym">;</span></div></li>
</ol></div></p></span>			</li>
				</ul>
		
			
	</div>
<a name="methodsetPrefixDelimiter" id="setPrefixDelimiter"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">setPrefixDelimiter</span> (line <span class="line-number">248</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			setPrefixDelimiter
		</span>
					(<span class="var-type"></span>&nbsp;<span class="var-name">$sValue</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"></span>
				<span class="var-name">$sValue</span>			</li>
				</ul>
		
			
	</div>
<a name="methodvalidateKey" id="validateKey"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">validateKey</span> (line <span class="line-number">536</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Ensures that provided key belongs to this behavior.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">null|string</span>
		<span class="method-name">
			validateKey
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$sKey</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$sKey</span>			</li>
				</ul>
		
			
	</div>
						
		</div>
	</div>

	<a name="sec-consts"></a>
	<div class="info-box">
		<div class="info-box-title">Class Constants</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
										<a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>)
						
			
												<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
														| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<a name="constMD_TAG" id="MD_TAG"><!-- --></A>
<div class="evenrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">MD_TAG</span>
			 = <span class="const-default"> '_md.'</span>
			(line <span class="line-number">181</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">The meta data prefix tag</p>
	
	
</div>
<a name="constMETA_ALLOWED" id="META_ALLOWED"><!-- --></A>
<div class="oddrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_ALLOWED</span>
			 = <span class="const-default"> '_allowed'</span>
			(line <span class="line-number">113</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">These are shortcuts to the metadata options in the array.</p>
	
	
</div>
<a name="constMETA_DEFAULTVALUE" id="META_DEFAULTVALUE"><!-- --></A>
<div class="evenrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_DEFAULTVALUE</span>
			 = <span class="const-default"> '_defaultValue'</span>
			(line <span class="line-number">117</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	
	
</div>
<a name="constMETA_EXTERNALNAME" id="META_EXTERNALNAME"><!-- --></A>
<div class="oddrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_EXTERNALNAME</span>
			 = <span class="const-default"> '_extName'</span>
			(line <span class="line-number">121</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	
	
</div>
<a name="constMETA_KEYNAME" id="META_KEYNAME"><!-- --></A>
<div class="evenrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_KEYNAME</span>
			 = <span class="const-default"> '_keyName'</span>
			(line <span class="line-number">141</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	
	
</div>
<a name="constMETA_PRIVATE" id="META_PRIVATE"><!-- --></A>
<div class="oddrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_PRIVATE</span>
			 = <span class="const-default"> '_private'</span>
			(line <span class="line-number">125</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	
	
</div>
<a name="constMETA_REQUIRED" id="META_REQUIRED"><!-- --></A>
<div class="evenrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_REQUIRED</span>
			 = <span class="const-default"> '_required'</span>
			(line <span class="line-number">129</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	
	
</div>
<a name="constMETA_RULES" id="META_RULES"><!-- --></A>
<div class="oddrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_RULES</span>
			 = <span class="const-default"> '_rules'</span>
			(line <span class="line-number">133</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	
	
</div>
<a name="constMETA_TYPE" id="META_TYPE"><!-- --></A>
<div class="evenrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_TYPE</span>
			 = <span class="const-default"> '_type'</span>
			(line <span class="line-number">137</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	
	
</div>
<a name="constMETA_VALUEPATTERN" id="META_VALUEPATTERN"><!-- --></A>
<div class="oddrow">

	<div class="const-header">
		<img src="../../media/images/Variable.png" />
		<span class="const-title">
			<span class="const-name">META_VALUEPATTERN</span>
			 = <span class="const-default"> '_valuePattern'</span>
			(line <span class="line-number">146</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">todo:</span> Implement handling of this</li>
			</ul>
	
	
</div>
						
		</div>
	</div>

	<p class="notes" id="credit">
		Documentation generated on Mon, 15 Jun 2009 22:58:24 -0400 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.2</a>
	</p>
	</div></body>
</html>